/*
 * tp boole
 */
package boole.circuit;

import boole.application.vue.VueComposant;
import boole.application.vue.VuePortsEntree;
import boole.application.vue.VuePortsSortie;

/**
 *
 * @author Thomas Nds nds.thomas@gmail.com
 * @author Rémi PIOTAIX <remi.piotaix@gmail.com>
 */
public abstract class Recepteur extends Composant {

    /**
     * Un recepteur n'a pas de sorties.
     *
     * @return 0
     */
    @Override
    public int getNombreSorties() {
        return 0;
    }

    /**
     * Le calcul d'un recepteur, c'est demander la valeur de ses ports d'entrée
     *
     * définir une action quelconque a executer lors du calcul? ou ne pas
     * definir lamethode ici?
     */
    @Override
    public void calcul() {
        for (int i = 1; i <= this.getNombreEntrees(); i++) {
            this.getEntree(i).getValeur();
        }
        super.calcul();
    }

    @Override
    public VueComposant getView() {
        return new VuePortsEntree(this);
    }
}
